/*
 * @(#)RandomUtil.java	 Aug 28, 2008
 */
package com.zx.deploy.common.utils;

import java.util.Random;

public class RandomUtil {

	/** 常规字符串，默认实现，可用IOC注入 */
	private static String str = "0123456789";;
	
	private static String abc="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

	public String getStr() {
		return str;
	}

	public void setStr(String str) {
		RandomUtil.str = str;
	}

	/**
	 * 返回>=star <=end的随机整数
	 * 
	 * @param start
	 *            - 起始数值
	 * @param end
	 *            - 结束数值
	 * */
	public static int getRandomRangeNum(int start, int end) {
		Random random = new Random();
		return random.nextInt(end - start + 1) + start;
	}

	/**
	 * 返回指定长度的随机字符串，小于取长度1,大于100取长度100
	 * 
	 * @param len
	 *            长度，长度在1~100之间
	 * @return 返回指定长度的随机字符串
	 * */
	public static String getRandomString(int len) {
		if(len<1){
			len = 1;
		}else if(len>100){
			len = 100;
		}
		Random random = new Random();
		StringBuffer s = new StringBuffer("");
		int strLen = str.length();
		for(int i=0;i<len;i++){
			s.append(str.charAt(random.nextInt(strLen)));
		}
		
		return s.toString();
	}
	
	/**
	 * 返回指定长度的随机字母串，小于取长度1,大于100取长度100
	 * 
	 * @param len
	 *            长度，长度在1~100之间
	 * @return 返回指定长度的随机字符串
	 * */
	public static String getRandomabc(int len) {
		if(len<1){
			len = 1;
		}else if(len>100){
			len = 100;
		}
		Random random = new Random();
		StringBuffer s = new StringBuffer("");
		int strLen = abc.length();
		for(int i=0;i<len;i++){
			s.append(abc.charAt(random.nextInt(strLen)));
		}
		
		return s.toString();
	}
}
